From 0138af9f9684c0ec436b37e5962e9f82607d3ff8 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 6 Jan 2016 18:14:11 +0100 Subject: [PATCH] rendericon: Save and restore cairo matrix ... instead of requiring cairo_save()/cairo_restore(). --- gtk/gtkrendericon.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk/gtkrendericon.c b/gtk/gtkrendericon.c index 2c756a4929..cacd5109c4 100644 --- a/gtk/gtkrendericon.c +++ b/gtk/gtkrendericon.c @@ -39,7 +39,7 @@ gtk_css_style_render_icon (GtkCssStyle *style, GtkCssImageBuiltinType builtin_type) { const GtkCssValue *shadows; - cairo_matrix_t matrix, transform_matrix; + cairo_matrix_t matrix, transform_matrix, saved_matrix; GtkCssImage *image; g_return_if_fail (GTK_IS_CSS_STYLE (style)); @@ -49,6 +49,8 @@ gtk_css_style_render_icon (GtkCssStyle *style, if (image == NULL) return; + cairo_get_matrix (cr, &saved_matrix); + shadows = gtk_css_style_get_value (style, GTK_CSS_PROPERTY_ICON_SHADOW); cairo_translate (cr, x, y); @@ -75,6 +77,8 @@ gtk_css_style_render_icon (GtkCssStyle *style, cairo_paint (cr); } } + + cairo_set_matrix (cr, &saved_matrix); } gboolean -- 2.30.2